fix(widget): permit null in validator provider revshare decoding - #570
petar-omni wants to merge 3 commits into
Conversation
|
4f9311c to
113d3e3
Compare
113d3e3 to
f8e9e2a
Compare
b8a64ca to
02874d7
Compare
02874d7 to
025fcb2
Compare
* feat(earn): add history chart hover details Show the nearest recorded value and localized date when hovering either earn history chart. Highlight the active point and use theme-derived contrast for the tooltip container. * fix(earn): preserve UTC history dates Format snapshot dates in UTC so viewers west of UTC do not see the previous calendar day.
Consolidate loading placeholders across widget flows and keep initial price layouts stable. Replace loading-time zero values and delayed native-token detection. This prevents visual shifts and button flashes during initial rendering. - Align select trigger skeletons with loaded geometry and add CaretDownIcon loading support. - Prevent select provider card unmount flash while multi-yield queries resolve. - Add strategy details skeleton placeholder above divider under dashboard variant. - Preserve dual-column layout balance for estimated reward amounts during loading. - Add loading accessibility and disabled states to MaxButton. - Align amount-token-section min/max label alignment with flexbox container.
…enapi generation - Permit null in ValidatorProviderDto.revshare decoding (OpenAPI spec patch, regenerated schemas, and domain regression tests). - Target production API doc endpoints (api.stakek.it, api.yield.xyz, and borrow.yield.xyz) for OpenAPI generation. - Strip _v1 operation ID suffixes emitted by NestJS URI versioning so client methods and DTOs retain stable names. - Close unannotated OpenAPI object schemas in prepareSpecContents so Effect rc.115 generates Schema.Struct preserving .fields access. - Support "supplyAndBorrow" action and "BUNDLE" transaction types in SKBorrowTxMeta. - Add blueBundleOriginationFeeBps to borrow test mock fixtures.
025fcb2 to
cf34849
Compare
|
Superseded by a new pull request targeting main directly. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit cf34849. Configure here.
| readonly offset: number; | ||
| readonly limit: number; | ||
| readonly items?: ReadonlyArray<MarketDto>; | ||
| readonly items?: never; |
There was a problem hiding this comment.
Paginated items typed as never
High Severity
Markets, liquidations, and actions list responses now type items as never, and the markets schema decodes items with Schema.Never. Any decode that does not replace that field will reject real items arrays and drop paginated borrow data.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit cf34849. Configure here.




Summary
nullinValidatorProviderDto.revsharedecoding via an OpenAPI spec patch, regenerated schemas, and regression tests.LegacyApiURL to staging (https://api.stg.stakek.it/docs.yaml) to fix the ALB 404 on productionhttps://api.stakek.it/docs.yaml._v1operation ID suffixes emitted by NestJS URI versioning so generated client methods and DTOs retain stable names withoutV1suffixes.prepareSpecContentsso Effect rc.115 openapigen emitsSchema.Struct, preserving.fieldsaccess.Why
Fixes decode failures when validator providers return
revshare: nullin validator and yield provider responses.Dependency
Stacked on #568; merge the layout refactor first.
Note
Medium Risk
Touches generated API clients/spec defaults and broad UI loading paths; earn max/gas-token logic changes could affect stake amount behavior when yield data is still loading.
Overview
Updates OpenAPI codegen so legacy and Yield specs strip NestJS
_vNoperationId suffixes, default the Yield spec toapi.yield.xyz, patchValidatorProviderDto.revshareandTransactionDto.unsignedTransactionfor accurate decoding, and setadditionalProperties: falseon object schemas so Effect openapigen keepsSchema.Struct(.fields) instead ofStructWithRest.Earn/stake behavior adds
isNativeTokenand relaxesstakeTokenSameAsGasTokenwhen yield metadata is missing; entry/dashboard facades show formatted USD for zero amounts and compute gas-token sameness without requiring a selected yield.Loading UX replaces large
ContentLoaderSquareblocks with layout-matched skeletons across activity, borrow, earn, portfolio, and shared pieces (AmountTokenSection,DetailRow, token triggers,MetaInfoSkeleton, etc.), including borrow position pages that drop separate skeleton files in favor ofloadingprops on the real components.Earn dashboard charts gain hover tooltips (value + date), flexible chart height, and an optional
valueFormatteron history sections.Regenerated borrow (and related) API clients reflect upstream spec changes (e.g.
supplyAndBorrow, safer path params, typed schema fields).Reviewed by Cursor Bugbot for commit cf34849. Configure here.